INVERT_CRC=Val_0x0, BIT_SWAP=Val_0x0, REFLECT_CRC=Val_0x0, BYTE_SWAP=Val_0x0, USE_CUSTOM_POLY=Val_0x0, ALGORITHM_SEL=Val_0x0, ALGO_SIZE=Val_0x0
CRC Calculation Setup Register
INIT | Writing INIT will load seed and polynomial. Reading will always return INIT = 0. Bit must always be written to 0x1 before starting CRC calculations. |
ALGO_SIZE | Algorithm size selection. Must program CRC_CONTROL[ALGO_SIZE] = 0x2 when using custom polynomials. 0 (Val_0x0): 8-bit 1 (Val_0x1): 16-bit 2 (Val_0x2): 32-bit |
ALGORITHM_SEL | Algorithm selection. 0 (Val_0x0): CRC-8-CCITT 2 (Val_0x2): CRC-16 3 (Val_0x3): CRC-16-CCITT 4 (Val_0x4): CRC-32 5 (Val_0x5): CRC-32C |
BYTE_SWAP | Byte swapping during CRC calculation. 0 (Val_0x0): Do not swap bytes. 1 (Val_0x1): Swap the bytes within each word (16-bit and 32-bit calculations only). |
BIT_SWAP | Bit swapping during CRC calculation. 0 (Val_0x0): Do not swap bits. 1 (Val_0x1): Swap the bits within each byte. |
USE_CUSTOM_POLY | Use of a custom polynomial for CRC calculations. Note: Custom polynomials can only be used for 32-bit CRC algorithms. 0 (Val_0x0): Custom polynomial is not used. The algorithm selected in CRC_CONTROL[ALGORITHM_SEL] bit field is used for the CRC calculation. 1 (Val_0x1): Enable the use of a custom polynomial. For more information of the supported polynomials and their format, see Section CRC Overview and Section CRC Polynomials. |
INVERT_CRC | Inverting of each bit of the calculated CRC as it is read out. 0 (Val_0x0): The CRC is not inverted. 1 (Val_0x1): Each bit is inverted. |
REFLECT_CRC | Reflection of the CRC result as it is read out. An 8-bit CRC value is reflected on [7-0], bit7 to bit0, bit6 to bit1, etc. 16-bit and 32-bit CRC are reflected similarly. 0 (Val_0x0): Reflection is disabled. 1 (Val_0x1): Reflection is enabled. |